/*
 * debug.h
 *
 *  Created on: 2019年12月27日
 *      Author: wangbing
 *      Email : mz8023yt@163.com
 */

#ifdef __cplusplus
extern "C" {
#endif

#ifndef MAZ_DEBUG_H_
#define MAZ_DEBUG_H_

#include <stdio.h>

#define DERR 0 /* error */
#define DWAN 1 /* warning */
#define DINF 2 /* information */
#define DBUG 3 /* debug */
#define DIGN 4 /* ignore */

/**
 * dmsg: debug message
 * dlog: debug log
 *
 * @note: 每个模块必须要有 static int dlvl 变量
 */
#define dmsg(lvl, fmt, arg...)      \
	if (lvl <= dlvl) {          \
		printf(fmt, ##arg); \
	}

#define dlog(lvl, fmt, arg...)                                                   \
	if (lvl <= dlvl) {                                                       \
		printf("[%04d][%s] " fmt "\r\n", __LINE__, __FUNCTION__, ##arg); \
	}

#endif /* MAZ_DEBUG_H_ */

#ifdef __cplusplus
}
#endif
